Prior techniques used to segment image objects have various deficiencies. Using manual selection to segment objects, for example, requires the tedious, time consuming, and sometimes frustrating task of manually selecting object boundaries. For example, using a mouse or other input device to draw a precise border around the object requires finely-controlled and often slow hand movements and can require a significant amount of time to draw and redraw such boundaries when initial attempts are not acceptable. It is desirable to avoid this frustrating user experience by using an automated image object segmentation technique.
However, automated techniques that have been used also have deficiencies. For example, prior automated techniques that use saliency to detect objects (i.e., using low level features such as color, contrast, compactness, etc.) only work well for images that have high foreground/background contrast and do not perform well for cluttered images. Other prior automated techniques are only suited for images in special object categories for which special trained category-specific models are available. For example, special trained models exist for human heads and can be used to identify heads in images. However, such models are not available for many categories of objects and have various other deficiencies that make them ill-suited for general use.